<?php
/**
 * Punny - The most easy-to-use PHP MVC framework
 * 
 * Copyright (c) 2010  
 *
 * @author email :lx.xin@qq.com
 */
 class Blog extends Base {
	protected $_name='my_blog';
	protected $_primary='id';
	//columns：指定当前数据表通过那个字段和外表关联，一般指外键（PK）
	//refTableClass：关联表所对应的类名称
	//refColumns：关联表使用那个字段和其它表关联，一般指主键（FK）
	protected $_referenceMap = array(
        'category' => array(                     //关联名称     
             'columns' => 'classid',                             
             'refTableClass' => 'class',                
             'refColumns' => 'id',                        
             ),
        );

	/*
	 *添加blog
	 */
	 function addBlog($data){
		return $this->insert($data);
	 }
	 /*
	  *获取文章
	  */
	  function blogList(){
		  return $this->fetchAll()->toArray();
	  }
	  /*
	   *前台获取文章
	   */
	  function getBlogList(){
		  return $this->fetchAll('ishidden=0','id  DESC')->toArray();	  	
	   }
	  /*
	   *根据ID获取文章
	   */
	   function queryBlog($id){
			$db=$this->getAdapter();
			$where=$db->quoteInto('id = ? ',$id);
			$row=$this->fetchRow($where)->toArray();
			return $row;
	   }
	   /*
	    *根据id，更新记录
		*/
		function updateBlog($id,$data){
			$db=$this->getAdapter();
			$where=$db->quoteInto('id = ?',$id);
			return $this->update($data,$where);
		}
		/*
		 *根据id，删除记录
		 */
		 function delBlog($id){
			$db=$this->getAdapter();
			$where=$db->quoteInto('id = ?',$id);
			return $this->delete($where);
		 }
		 /*
		  *根据时间倒序，获取最近5篇文章
		  */
		  function getBlog(){
			$row=$this->fetchAll('ishidden=0','posttime DESC',5)->toArray();
			$array=array();
			foreach($row as $key=>$value){
				$array[$key]['id']=$value['id'];
				$array[$key]['posttime']=$value['posttime'];
				$array[$key]['title']=$value['title'];
			}
			return $array;
		  }
		  /*
		   *根据分类id，查询某一类日志
		   */
		   function getClassBlog($id){			
					$data=$this->fetchAll("ishidden=0 and classid='$id'")->toArray();
					return $data;		   
		   }
		   /*
		    *点击查看文章，更新点击数
			*/
			function updateHit($id){
				$db=$this->getAdapter();
				return $db->query("update my_blog set viewnums=viewnums+1 where id = ?",$id);
			}
			/*
			 *评论成功之后，更新评论数
			 */
			 function updateComm($id){
				$db=$this->getAdapter();
				return $db->query("update my_blog set commnums=commnums+1 where id = ?",$id);
			 }
			 /*
			  *获取文章数
			  */
			  function blogNums(){
				$num=$this->fetchAll()->count();
				return $num;
			  }
			  /*
			   *根据tag搜索Blog
			   */
			   function tagToBlog($name){
					$data=$this->fetchAll("ishidden = 0 and tags like '%".$name."%'",'id DESC')->toArray();
					return $data;
			   }
		  
 }
 ?>